package minio;

import io.minio.GetObjectArgs;
import io.minio.MinioClient;
import io.minio.errors.MinioException;
import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
/**
 * All rights Reserved, Designed By www.tusdao.com
 *
 * @version V1.0
 * @Title: GetObject
 * @Package myTest
 * @Description: TODO(一句话描述类是干嘛的)
 * @author: tusxxw
 * @date: 2020/9/15
 * @Copyright: 2020 www.tbs.com Inc. All rights reserved.
 * <p>
 * 注意：本内容仅限于TBS项目组内部传阅，禁止外泄以及用于其他的商业目的
 */
public class GetObject {
    /** MinioClient.getObject() example. */
    public static void main(String[] args)
            throws IOException, NoSuchAlgorithmException, InvalidKeyException {
        try {
            /* play.min.io for test and development. */
            MinioClient minioClient =
                    MinioClient.builder()
                            .endpoint("http://39.105.184.167:8900/")
                            .credentials("admin", "Tustbs515")
                            .build();

            /* Amazon S3: */
            // MinioClient minioClient =
            //     MinioClient.builder()
            //         .endpoint("https://s3.amazonaws.com")
            //         .credentials("YOUR-ACCESSKEY", "YOUR-SECRETACCESSKEY")
            //         .build();

            // Get input stream to have content of 'my-objectname' from 'my-bucketname'
            InputStream stream =
                    minioClient.getObject(
                            GetObjectArgs.builder().bucket("tbs-dev-center").object("monitor/小米开源企业级监控平台open-falcon安装与部署.md").build());

            // Read the input stream and print to the console till EOF.
            byte[] buf = new byte[16384];
            int bytesRead;
            while ((bytesRead = stream.read(buf, 0, buf.length)) >= 0) {
                System.out.println(new String(buf, 0, bytesRead, StandardCharsets.UTF_8));
            }

            // Close the input stream.
            stream.close();
        } catch (MinioException e) {
            System.out.println("Error occurred: " + e);
        }
    }
}


//repel			V/.击退；抵制；使厌恶；排斥
//compulsory		^强制性的，必须做的；义务的
//anniversary		/I周年纪念曰
//annual			a.每年的，年度的年刊
//sophisticated	&老练的；先进的；精密的
//philosopher		哲学家；哲人
//realistic		a.现实主义的；实际的；现实的
//tribute			&贡品；颁词；礼物；称赞；体现
//attribute		/i 品质	v,.把	归因于
//contribute		V.捐助；投稿；贡献
//facilitate		促进；使便利
//facility		设备，设施;特别装置;才能，天赋
//factor			&因素；因子；系数
//affair			事情；事务
//normalization	&正常化；标准化；常态化
//abnormal		^不规则的；反常的；变态的
//variety			〃.变化；种类；多样化;变体
//various			a各种各样的；不同的
//variable		&变量〃.可变的；多变的；变异的
//invariable		〃.恒定的，不变的；始终如一的
//profound		^深厚的；意义深远的；渊博的
//fundamental		〃.基本的；最重要的〃.基本原则
//exposure		暴露；揭露
//failure			〃.失败；故障
//pressure		〃•压力；挤，压施压；迫使
//
//nurture			W.//7.培养；教育；培育
//procedure		〃.程序，步骤；手术
//gradual			〃.逐渐的；平缓的
//graduate		毕业生	v/.毕业；逐渐发展
//upgrade		 	/?.升级	vr•使升级；改善
//aggressive		侵略的；好斗的；有进取心的
//congress		〃.代表大会；会议；国会
//depend			V/.依赖；依靠；取决于
//independent		&独立的；公正的〃.无党派人士
//suspend			V.悬挂；暂停；延缓，推迟
//compensate		V.补偿，弥补；赔偿
//indispensable	^必需的，不可缺少的
//ponder			V.仔细考虑；琢磨；沉思
//pG门sio门		".养老並，抚I血it 会口了'	养老it
//polite			a.有礼貌的；文雅的；客套的
//policy			〃.政策；方针；原则；保险单
//political		〃.政治的；政党的
//politician		〜政治家；政客
//metropolitan	大城市的，大都会的
//saddle			车座;鞍使承担V/.绐（马）备鞍
//assess			V/.评估；评定；估算
//conscious		〃.意识到的；神志清醒的；刻意的
//dubious			怀疑的；靠不住的；不确定的
//mysterious		a.神秘的；难以理解的；不可思议的
//obvious			a.明显的，显然的
//serious			.严重的；严肃的；认真的
//religious		a.宗教的；虔诚的
//ambiguous		〃.模棱两可的，含糊的；引起歧义的
//ambitious		〃.有雄心的，有抱负的；渴求……的
//anxious			a.焦虑的；担忧的；渴望的
//settlement		〃.定居；解决；结算
//
//
//
//			Word List 2
//drastic			激烈的；急剧的；猛烈的；严厉的
//drama			.戏剧（艺术）；剧本
//civil			a.公民的；民用的；政府的
//civilian		平民，老百姓平民的；民用的
//civilize		(亦作civilise) v/•教化；使文明
//parade			./v•游行；阅兵（式）；炫耀
//apparatus		n.仪器，器具；机构，组织；器官
//compare			v>.比较V/.把……比作
//comparative		a.比较的；相对的〃.比较级
//comparable		a.可比较的；同类的
//separate		 a单独的	v.(使）分开；区分
//paradise		&天堂；乐园；极乐
//paralyse		#使瘫痪；使麻痹
//paradox			&悖论；自相矛盾
//parachute		.降落伞V.跳伞
//parallel		平行（的）；相似（的）
//format			使格式化n.格式；版式
//formation		.形成；队形
//formula			公式；准则；方案；配方
//inform			通知；告诉；报告V/.告发，检举
//ccmform			符合；遵守使遵照；使一致
//perform			执行；演奏V/.运转；表现
//reform			.改革；改造；改良
//reject			V/.拒绝；驳回；抛弃
//adjective		〃.形容词a.形容词的；从属的
//subjective		&主观的；个人的
//
//objective		a.客观的；宾格的〃.目的；目标
//adjacent		a.邻近的；毗连的
//anguish			极度痛苦；苦恼
//assimilate		V.吸收；同化
//similar			类似的，相似的
//assemble		V.聚集，集合V/.装配
//assembly		 €酉己；
//resemble		W•类似；像……
//opaque			不透明的；难懂的
//aggravate		使恶化；加重；激怒
//grieve			感到悲伤，悲痛使悲伤
//credit			〃•压力；挤，压施压；迫使.信用；赊购V.归功于；信任
//incredible		^难以置信的；不可思议的；惊人的
//encourage		V/.鼓励；支持；助长
//percentage		n.百分比，百分率
//savage			a凶猛的猛烈抨击n.未开化的人
//storage			存储；仓库，贮藏所
//admission		准许进入；入场费（券）；承认
//comparison		比较；对照
//eliminate		V/.消除；排除；淘汰
//limited			a.有限的；受限制的；有限责任的
//mechanical		.机械的；力学的；呆板的
//mechanism		.机械装置；机制；构造；办法
//pant			V/.渴望；喘息〃.喘息
//colonial		a.殖民地的；殖民的〃.殖民地居民
//episode			一段经历;插曲；事件;一集;片段
//dilute			>冲淡（的），稀释（的）
//diverge			.偏离；分歧VA使分叉；使偏离
//dilemma			(进退两难的）窘境，困境
//divide			V.(使）分开；分配分水岭
//
//
//dividend		股息；股利；红利
//superb			a.极好的；卓越的
//superficial		.表面的；肤浅的
//superfluous		a多余的；过剩的
//superior		a.较好的；优秀的；上级的&上司
//supervise		V.监督；管理；指导
//supersonic		a超声速的；超音速的；超声波的
//superstition	〃.迷信
//supreme			a.最高的，至高无上的；最大的
//profit			.利润，利益V.有益；赚钱
//progressive		a.进步的；先进的；稳步的
//prolong			vA拉长；延长
//promote			M促进；提升；推销
//prompt			迅速的；及时的V/.促使；激励
//propel			推进；推动；驱使
//prosper			•(使）繁荣；（使）成功
//profile			侧面；轮廓V.概述；扼要介绍
//proficiency		精通，熟练
//protest			声明;抗议[’prautest]/?.抗议；反对
//proclaim		宣告；公布；表明
//prohibit		阻止；禁止
//proposal		n.提议；求婚；计划
//journalist		新闻记者；新闻工作者
//scientist		科学家
//specialist		专家；专科医生
//
//			Word List 3
//confess 		供认；承认；坦白
//profession		专业，职业;行业;声明，宣称;表白